Users utilize various types of communication devices that run different types of operating systems and applications. Software developers have to account for the differences between these devices and applications when developing software that requires communication between devices or applications. In addition, users are required to assist with configuring communication components of these devices or applications. The development of software and the associated user interfaces for device communication lack a construct that enables seamless device communication.